Skip to content

*: Support TIDB_VIEWS, TIDB_MLOGS and TIDB_TABLE_MVIEW_DEPENDENCIES in INFORMATION_SCHEMA for materialized view#68839

Open
xzhangxian1008 wants to merge 24 commits into
pingcap:feature/release-8.5-materialized-view-2603from
xzhangxian1008:info-tb
Open

*: Support TIDB_VIEWS, TIDB_MLOGS and TIDB_TABLE_MVIEW_DEPENDENCIES in INFORMATION_SCHEMA for materialized view#68839
xzhangxian1008 wants to merge 24 commits into
pingcap:feature/release-8.5-materialized-view-2603from
xzhangxian1008:info-tb

Conversation

@xzhangxian1008
Copy link
Copy Markdown
Contributor

@xzhangxian1008 xzhangxian1008 commented Jun 1, 2026

What problem does this PR solve?

Issue Number: close #68838

Problem Summary:

What changed and how does it work?

Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No need to test
    • I checked and no code files have been changed.

Side effects

  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Breaking backward compatibility

Documentation

  • Affects user behaviors
  • Contains syntax changes
  • Contains variable changes
  • Contains experimental features
  • Changes MySQL compatibility

Release note

Please refer to Release Notes Language Style Guide to write a quality release note.

Support TIDB_VIEWS, TIDB_MLOGS and TIDB_TABLE_MVIEW_DEPENDENCIES in INFORMATION_SCHEMA for materialized view

Summary by CodeRabbit

  • New Features

    • Added three information_schema tables exposing materialized-view metadata: tidb_mviews, tidb_mlogs, tidb_table_mview_dependencies.
    • Exposed MV/MLog fields: SQL content/comment, refresh/purge scheduling, base-table linkage, dependency mappings; modification timestamps are timezone-aware.
  • Tests

    • Added extensive unit, executor, planner, and integration tests covering extraction, predicate filtering (LIKE/IN), privilege-aware visibility, timestamps, nullability, and dependency behaviors.

@ti-chi-bot ti-chi-bot Bot added do-not-merge/invalid-title release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/planner SIG: Planner size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 1, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 1, 2026

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 33b460a8-6f0a-49ad-b151-34ff23e9eb81

📥 Commits

Reviewing files that changed from the base of the PR and between 504fd29 and 5a46d5c.

📒 Files selected for processing (2)
  • pkg/executor/infoschema_reader.go
  • pkg/executor/infoschema_reader_internal_test.go
🚧 Files skipped from review as they are similar to previous changes (2)
  • pkg/executor/infoschema_reader_internal_test.go
  • pkg/executor/infoschema_reader.go

📝 Walkthrough

Walkthrough

Adds three TiDB-specific INFORMATION_SCHEMA tables for materialized views, implements predicate extractors, executor data loaders with privilege/timezone handling, wires planner/builder, and provides unit and integration tests.

Changes

Materialized View INFORMATION_SCHEMA Support

Layer / File(s) Summary
Schema definitions for new INFORMATION_SCHEMA tables
pkg/infoschema/tables.go
Adds exported constants TableTiDBMViews, TableTiDBMLogs, TableTiDBTableMViewDependencies, assigns table IDs, and declares column schemas for all three tables.
Predicate extractors for query optimization
pkg/planner/core/memtable_infoschema_extractor.go
Adds column-name constants and three extractors: InfoSchemaTiDBMViewsExtractor, InfoSchemaTiDBMLogsExtractor (with base-table-aware listing/dedup), and InfoSchemaTiDBTableMViewDependenciesExtractor (with mlog/mview listing helpers and Filter implementations).
Planner & builder wiring
pkg/planner/core/logical_plan_builder.go, pkg/executor/builder.go, pkg/executor/BUILD.bazel
Wires new extractors into the planner, routes the three table names through memtable retriever in the builder, and adds //pkg/privilege to the executor_test deps.
Data population in executor
pkg/executor/infoschema_reader.go
Implements setDataFromTiDBMViews, setDataFromTiDBMLogs, and setDataFromTiDBTableMViewDependencies with predicate-aware candidate listing, privilege checks, dependency resolution, purge-schedule handling, and timezone-aware MVIEW_MODIFY_TIME.
Unit tests and scaffolding
pkg/executor/infoschema_reader_internal_test.go, pkg/planner/core/operator/logicalop/logicalop_test/logical_mem_table_predicate_extractor_test.go, pkg/executor/test/ddl/materialized_view_ddl_test.go, pkg/infoschema/infoschema_test.go
Adds mock InfoSchema and privilege stubs, extensive unit tests covering extractor predicate parsing, SkipRequest, error propagation, privilege auditing, timezone-sensitive timestamp assertions, and new executor DDL tests.
Integration and executor-level tests
tests/integrationtest/t/executor/infoschema_mv.test, tests/integrationtest/r/executor/infoschema_mv.result
Adds SQL integration script and expected-result file exercising creation of materialized view logs/views, REFRESH FAST scheduling, purge configurations, dependency mappings, and validations across many WHERE/pattern/IN-list predicate combinations.

Sequence Diagram(s)

sequenceDiagram
  participant Planner
  participant MemtableRetriever
  participant InfoSchemaTiDBMLogsExtractor as MLogExtractor
  participant InfoSchema
  participant PrivilegeManager
  Planner->>MemtableRetriever: request memtable for tidb_mlogs
  MemtableRetriever->>MLogExtractor: HasMLogPredicates()/ListSchemasAndTables...
  MLogExtractor->>InfoSchema: list candidate tables
  InfoSchema-->>MemtableRetriever: candidate table infos
  MemtableRetriever->>PrivilegeManager: check privileges for MLOG and base table
  PrivilegeManager-->>MemtableRetriever: allow/deny
  MemtableRetriever->>Planner: emit rows for tidb_mlogs
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Poem

🐰 Three small tables hop into view,
Columns and predicates all lined in a queue,
Extractors sniff patterns, rows bloom on demand,
Privileges checked by a careful paw and hand,
Metadata sings—fresh, tidy, and true.

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description includes the required issue number, indicates three test types (unit, integration, manual), and provides a release note. However, 'Problem Summary' and 'What changed and how does it work?' sections are entirely blank. Add substantive content to 'Problem Summary' and 'What changed and how does it work?' sections to explain the motivation and implementation details of adding these three INFORMATION_SCHEMA tables.
Out of Scope Changes check ⚠️ Warning Changes are scoped to implementing the three INFORMATION_SCHEMA tables and their infrastructure. However, a Bazel test shard count update (logicalop_test/BUILD.bazel) is unrelated to materialized view metadata support. Remove the Bazel shard_count change from 21 to 24 in logicalop_test/BUILD.bazel as it is unrelated to materialized view INFORMATION_SCHEMA support, or justify why it is necessary for this PR.
Docstring Coverage ⚠️ Warning Docstring coverage is 10.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding support for three INFORMATION_SCHEMA tables (TIDB_VIEWS, TIDB_MLOGS, TIDB_TABLE_MVIEW_DEPENDENCIES) for materialized views, which is reflected throughout the changeset.
Linked Issues check ✅ Passed The PR adds complete support for the three requested INFORMATION_SCHEMA tables (TIDB_VIEWS, TIDB_MLOGS, TIDB_TABLE_MVIEW_DEPENDENCIES) with table registration, extractor implementations, privilege checks, data retrieval logic, and comprehensive test coverage matching the linked issue requirements.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@tiprow
Copy link
Copy Markdown

tiprow Bot commented Jun 1, 2026

Hi @xzhangxian1008. Thanks for your PR.

PRs from untrusted users cannot be marked as trusted with /ok-to-test in this repo meaning untrusted PR authors can never trigger tests themselves. Collaborators can still trigger tests on the PR using /test all.

I understand the commands that are listed here.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@xzhangxian1008 xzhangxian1008 changed the title Support TIDB_VIEWS, TIDB_MLOGS and TIDB_TABLE_MVIEW_DEPENDENCIES in INFORMATION_SCHEMA for materialized view *: Support TIDB_VIEWS, TIDB_MLOGS and TIDB_TABLE_MVIEW_DEPENDENCIES in INFORMATION_SCHEMA for materialized view Jun 1, 2026
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pkg/infoschema/tables.go`:
- Line 760: Change the new ID columns from VARCHAR to a numeric LONG type:
update the column definition for BASE_TABLE_ID (and the other new ID column
added nearby) to use mysql.TypeLonglong with size 20 and keep the
mysql.NotNullFlag (match the existing TIDB_MVIEWS.MVIEW_ID type/semantics);
ensure both places that currently set tp: mysql.TypeVarchar are changed to tp:
mysql.TypeLonglong and adjust size/flags accordingly so the INFORMATION_SCHEMA
ID fields are numeric and consistent.

In `@tests/integrationtest/t/executor/infoschema_mv.test`:
- Around line 45-51: The test currently snapshots raw MVIEW_MODIFY_TIME (queries
selecting MVIEW_MODIFY_TIME from information_schema.tidb_mviews), which bakes
wall-clock timestamps into infoschema_mv.result; update the test in
tests/integrationtest/t/infoschema_mv.test to stop capturing the raw
timestamp—either remove MVIEW_MODIFY_TIME from the SELECT projections or replace
that projection with a stable predicate/assertion (e.g., assert
MVIEW_MODIFY_TIME IS NOT NULL or use a deterministic flag column) in the queries
that reference MVIEW_MODIFY_TIME so the golden output is stable across
regenerations.
- Around line 13-15: The information_schema queries in
tests/integrationtest/t/executor/infoschema_mv.test are reading global state
(e.g., mv_t, mv_t1, mvv_t1, $mlog$t) which makes the golden output
order-dependent; modify the two queries that currently select from
information_schema.tidb_mviews and information_schema.tables to filter to the
test fixtures (for example by TABLE_SCHEMA = '<test_schema>' or by MVIEW_NAME IN
('mv_t','mv_t1','mvv_t1') / TABLE_NAME LIKE '$mlog$t%') so only objects created
by this test are counted, and add teardown steps at the end of the test to drop
mv_t, mv_t1, mvv_t1 and any $mlog$t artifacts (or create/use a dedicated schema
and drop it) so the test result is deterministic and stable.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 63a4fe24-61fc-46f6-a1dc-58bca52fcae4

📥 Commits

Reviewing files that changed from the base of the PR and between 7a81553 and fa0790d.

📒 Files selected for processing (12)
  • pkg/executor/BUILD.bazel
  • pkg/executor/builder.go
  • pkg/executor/infoschema_reader.go
  • pkg/executor/infoschema_reader_internal_test.go
  • pkg/executor/test/ddl/materialized_view_ddl_test.go
  • pkg/infoschema/tables.go
  • pkg/planner/core/logical_plan_builder.go
  • pkg/planner/core/memtable_infoschema_extractor.go
  • pkg/planner/core/operator/logicalop/logicalop_test/BUILD.bazel
  • pkg/planner/core/operator/logicalop/logicalop_test/logical_mem_table_predicate_extractor_test.go
  • tests/integrationtest/r/executor/infoschema_mv.result
  • tests/integrationtest/t/executor/infoschema_mv.test

Comment thread pkg/infoschema/tables.go Outdated
Comment on lines +13 to +15
select count(*) from information_schema.tidb_mviews;
select TABLE_SCHEMA, MVIEW_NAME from information_schema.tidb_mviews;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Scope these assertions to this file’s fixtures.

These queries read global INFORMATION_SCHEMA state, and this file never drops mv_t/mv_t1/mvv_t1 or $mlog$t. That makes the expected results suite-order dependent; Line 71 already has to weaken to count(*) >= 2 to tolerate leaked state. Filter by the objects created here (or use a dedicated schema) and clean them up at the end so the golden file stays stable. As per coding guidelines, tests/integrationtest/t/**: Integration test files changed: record and verify regenerated result correctness.

Also applies to: 39-40, 71-71

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/integrationtest/t/executor/infoschema_mv.test` around lines 13 - 15,
The information_schema queries in
tests/integrationtest/t/executor/infoschema_mv.test are reading global state
(e.g., mv_t, mv_t1, mvv_t1, $mlog$t) which makes the golden output
order-dependent; modify the two queries that currently select from
information_schema.tidb_mviews and information_schema.tables to filter to the
test fixtures (for example by TABLE_SCHEMA = '<test_schema>' or by MVIEW_NAME IN
('mv_t','mv_t1','mvv_t1') / TABLE_NAME LIKE '$mlog$t%') so only objects created
by this test are counted, and add teardown steps at the end of the test to drop
mv_t, mv_t1, mvv_t1 and any $mlog$t artifacts (or create/use a dedicated schema
and drop it) so the test result is deterministic and stable.

Comment on lines +45 to +51
select TABLE_SCHEMA, MVIEW_NAME, MVIEW_MODIFY_TIME, REFRESH_METHOD from information_schema.tidb_mviews where MVIEW_NAME = "mv_t" or MVIEW_NAME like "%mvv%" order by 1, 2, 3;
select TABLE_SCHEMA, MVIEW_NAME, REFRESH_METHOD from information_schema.tidb_mviews where MVIEW_NAME in ("mv_t", "mv", "mv_t1") order by 1, 2, 3;
select TABLE_SCHEMA, MVIEW_NAME, REFRESH_METHOD from information_schema.tidb_mviews where MVIEW_NAME not in ("mv", "mv_t1") order by 1, 2, 3;
select TABLE_SCHEMA, MVIEW_NAME, REFRESH_METHOD from information_schema.tidb_mviews where TABLE_SCHEMA = "test" and MVIEW_NAME like "%mvv%" order by 1, 2, 3;
select TABLE_SCHEMA, MVIEW_NAME, REFRESH_METHOD from information_schema.tidb_mviews where REFRESH_METHOD = "FAST" order by 1, 2, 3;
select TABLE_SCHEMA, MVIEW_NAME, REFRESH_METHOD from information_schema.tidb_mviews where REFRESH_METHOD != "FAST" order by 1, 2, 3;
select TABLE_SCHEMA, MVIEW_NAME, MVIEW_MODIFY_TIME, REFRESH_METHOD from information_schema.tidb_mviews where MVIEW_NAME in ("mv_t", "mv", "mv_t1") and REFRESH_METHOD = "FAST" order by 1, 2, 3;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Don’t snapshot raw MVIEW_MODIFY_TIME in the golden output.

Projecting MVIEW_MODIFY_TIME here bakes wall-clock timestamps into infoschema_mv.result, so a clean regeneration will differ even when behavior is correct. Prefer a stable assertion such as MVIEW_MODIFY_TIME is not null or another predicate that does not depend on the creation timestamp. As per coding guidelines, tests/integrationtest/t/**: Integration test files changed: record and verify regenerated result correctness.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tests/integrationtest/t/executor/infoschema_mv.test` around lines 45 - 51,
The test currently snapshots raw MVIEW_MODIFY_TIME (queries selecting
MVIEW_MODIFY_TIME from information_schema.tidb_mviews), which bakes wall-clock
timestamps into infoschema_mv.result; update the test in
tests/integrationtest/t/infoschema_mv.test to stop capturing the raw
timestamp—either remove MVIEW_MODIFY_TIME from the SELECT projections or replace
that projection with a stable predicate/assertion (e.g., assert
MVIEW_MODIFY_TIME IS NOT NULL or use a deterministic flag column) in the queries
that reference MVIEW_MODIFY_TIME so the golden output is stable across
regenerations.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 1, 2026

Codecov Report

❌ Patch coverage is 0% with 598 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (feature/release-8.5-materialized-view-2603@e8c6e40). Learn more about missing BASE report.

Additional details and impacted files
@@                               Coverage Diff                               @@
##             feature/release-8.5-materialized-view-2603     #68839   +/-   ##
===============================================================================
  Coverage                                              ?   20.9831%           
===============================================================================
  Files                                                 ?       1683           
  Lines                                                 ?     634153           
  Branches                                              ?          0           
===============================================================================
  Hits                                                  ?     133065           
  Misses                                                ?     484043           
  Partials                                              ?      17045           
Flag Coverage Δ
integration 20.9831% <0.0000%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
dumpling ∅ <0.0000%> (?)
parser ∅ <0.0000%> (?)
br 28.8666% <0.0000%> (?)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
pkg/infoschema/infoschema_test.go (1)

236-245: ⚡ Quick win

Cover TIDB_VIEWS in this smoke test.

This block only exercises TIDB_MLOGS and TIDB_TABLE_MVIEW_DEPENDENCIES, so a missing infoschema.TableTiDBMViews registration would still pass TestBasic. Add a simple TableByName assertion here (or in TestInfoTables) to keep this file aligned with the PR surface.

🧪 Suggested patch
  // Make sure partitions table exists
  tb, err = is.TableByName(context.Background(), pmodel.NewCIStr("information_schema"), pmodel.NewCIStr("partitions"))
  require.NoError(t, err)
  require.NotNil(t, tb)
+ tb, err = is.TableByName(context.Background(), pmodel.NewCIStr("information_schema"), pmodel.NewCIStr(infoschema.TableTiDBMViews))
+ require.NoError(t, err)
+ require.NotNil(t, tb)
  tb, err = is.TableByName(context.Background(), pmodel.NewCIStr("information_schema"), pmodel.NewCIStr(infoschema.TableTiDBMLogs))
  require.NoError(t, err)

As per coding guidelines, "Test files: Prefer extending existing test suites and fixtures over creating new scaffolding; keep test changes minimal and deterministic."

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pkg/infoschema/infoschema_test.go` around lines 236 - 245, The test block
only checks TableTiDBMLogs and TableTiDBTableMViewDependencies; add a similar
smoke assertion for infoschema.TableTiDBMViews by calling is.TableByName(ctx,
pmodel.NewCIStr("information_schema"),
pmodel.NewCIStr(infoschema.TableTiDBMViews)), require.NoError(t, err) and
require.NotNil(t, tb) (or check a known public column on that table) so the
presence/registration of TableTiDBMViews is validated; locate the existing
assertions using is.TableByName in the same test and insert this additional
assertion there.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@pkg/infoschema/infoschema_test.go`:
- Around line 236-245: The test block only checks TableTiDBMLogs and
TableTiDBTableMViewDependencies; add a similar smoke assertion for
infoschema.TableTiDBMViews by calling is.TableByName(ctx,
pmodel.NewCIStr("information_schema"),
pmodel.NewCIStr(infoschema.TableTiDBMViews)), require.NoError(t, err) and
require.NotNil(t, tb) (or check a known public column on that table) so the
presence/registration of TableTiDBMViews is validated; locate the existing
assertions using is.TableByName in the same test and insert this additional
assertion there.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 8bf70b79-1858-4dfa-8572-9011d1698d47

📥 Commits

Reviewing files that changed from the base of the PR and between c26c43b and 96e4e1c.

📒 Files selected for processing (4)
  • pkg/executor/infoschema_reader.go
  • pkg/executor/infoschema_reader_internal_test.go
  • pkg/infoschema/infoschema_test.go
  • pkg/infoschema/tables.go
🚧 Files skipped from review as they are similar to previous changes (2)
  • pkg/executor/infoschema_reader_internal_test.go
  • pkg/infoschema/tables.go

Comment thread pkg/executor/infoschema_reader.go Outdated
err error
)
switch {
case (!hasMLogPredicates && !hasBasePredicates) || (hasMLogPredicates && !hasBasePredicates):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this case can be simplified as case !hasBasePredicates?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this case can be simplified as case !hasBasePredicates?

fixed

Comment thread pkg/executor/infoschema_reader.go Outdated
switch {
case (!hasMLogPredicates && !hasBasePredicates) || (hasMLogPredicates && !hasBasePredicates):
schemas, tables, err = ex.ListSchemasAndTables(ctx, e.is)
case !hasMLogPredicates && hasBasePredicates:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can be simplified as case !hasMLogPredicates?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can be simplified as case !hasMLogPredicates?

fixed

Comment thread pkg/executor/infoschema_reader.go Outdated
}

var baseInfo mlogBaseTableInfo
if i < len(baseInfos) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can construct baseInfos after L1709 so here we can use baseInfos[i] for all cases

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can construct baseInfos after L1709 so here we can use baseInfos[i] for all cases

refined

@ti-chi-bot
Copy link
Copy Markdown

ti-chi-bot Bot commented Jun 5, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign gmhdbjd, terry1purcell for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot
Copy link
Copy Markdown

ti-chi-bot Bot commented Jun 5, 2026

@xzhangxian1008: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
idc-jenkins-ci-tidb/mysql-test 5a46d5c link true /test mysql-test
idc-jenkins-ci-tidb/check_dev 5a46d5c link true /test check-dev
idc-jenkins-ci-tidb/check_dev_2 5a46d5c link true /test check-dev2
idc-jenkins-ci-tidb/unit-test 5a46d5c link true /test unit-test
pull-br-integration-test 5a46d5c link true /test pull-br-integration-test

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@xzhangxian1008 xzhangxian1008 requested a review from windtalker June 5, 2026 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/planner SIG: Planner size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants